home *** CD-ROM | disk | FTP | other *** search
Wrap
INI File | 1997-03-17 | 40.2 KB | 699 lines
[Variables] n0=%ver 12[Pr≥tΘótφ≥╤ MASTER v4.0] [Commands] n0=#vote disabled n1=1:YES:{ n2= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto next } n3= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto next } } n4= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto next } } n5= inc %countvote [ $+ [ $nick ] ] | .timer 1 5 unset %countvote [ $+ [ $nick ] ] n6= if (%countvote [ $+ [ $nick ] ] >= 3) { n7= .ignore -tu120 $nick 3 | echo 4 -a %ver ===> Private voting flood detected by $nick -=2 Min Ignore=- | unset %countvote [ $+ [ $nick ] ] n8= if (%privatekick == 1) { set %reason Private voting flood detected -=Temp Ban=- | set %nick $nick | privatekick } n9= goto end n10= } n11= :next n12= set %address $address($nick,2) n13= set %levcount 0 | set %lev 0 n14= :start n15= inc %levcount | if ($read -l $+ %levcount $mircdirsettings\ $+ vote.txt == $null) { goto end1 } n16= if ($read -l $+ %levcount $mircdirsettings\ $+ vote.txt == %address) { set %lev %levcount | goto end1 } n17= goto start n18= :end1 n19= unset %levcount n20= if (%lev != 0) { .notice $nick %ver Sorry, you cannot vote more than once | goto end } n21= inc %yesvotes n22= write $mircdirsettings\ $+ vote.txt %address n23= .notice $nick %ver Thank you, your vote has been received n24= :end n25= unset %lev %address | halt n26=} n27=1:NO:{ n28= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto next } n29= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto next } } n30= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto next } } n31= inc %countvote [ $+ [ $nick ] ] | .timer 1 5 unset %countvote [ $+ [ $nick ] ] n32= if (%countvote [ $+ [ $nick ] ] >= 3) { n33= .ignore -tu120 $nick 3 | echo 4 -a %ver ===> Private voting flood detected by $nick -=2 Min Ignore=- | unset %countvote [ $+ [ $nick ] ] n34= if (%privatekick == 1) { set %reason Private voting flood detected -=Temp Ban=- | set %nick $nick | privatekick } n35= goto end n36= } n37= :next n38= set %address $address($nick,2) n39= set %levcount 0 | set %lev 0 n40= :start n41= inc %levcount | if ($read -l $+ %levcount $mircdirsettings\ $+ vote.txt == $null) { goto end1 } n42= if ($read -l $+ %levcount $mircdirsettings\ $+ vote.txt == %address) { set %lev %levcount | goto end1 } n43= goto start n44= :end1 n45= unset %levcount n46= if (%lev != 0) { .notice $nick %ver Sorry, you cannot vote more than once | goto end } n47= inc %novotes n48= write $mircdirsettings\ $+ vote.txt %address n49= .notice $nick %ver Thank you, your vote has been received n50= :end n51= unset %lev %address | halt n52=} n53=#vote end n54=;----- n55=#away start n56=1:PAGE:{ n57= inc %pages | write $mircdirsettings\ $+ messages.txt < $+ $nick $+ > PAGE $timestamp - $parm2* | .wavplay $mircdirpage.wav | .notice $nick %ver Thank you, page received :) | awaytitle n58= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n59= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n60= inc %countpageaway [ $+ [ $nick ] ] | .timer 1 10 unset %countpageaway [ $+ [ $nick ] ] n61= if (%countpageaway [ $+ [ $nick ] ] >= 2) { n62= ignore -tu30 $nick 3 | echo 4 -a %ver Page flooding detected from $nick -=30 Second Private Ignore=- | unset %countpageaway [ $+ [ $nick ] ] n63= if (%privatekick == 1) { set %reason Page flooding detected -=Temp Ban=- | set %nick $nick | privatekick } n64= } n65= :end n66= unset %lev | halt n67=} n68=#away end n69=;----- n70=1:DCC CHAT:{ n71= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n72= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n73= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n74= if (%dccflood == 0) { goto end } n75= inc %countdcc [ $+ [ $nick ] ] | .timer 1 %dccfloods unset %countdcc [ $+ [ $nick ] ] n76= if (%countdcc [ $+ [ $nick ] ] >= %dccfloodl) { n77= ignore -tu30 $nick 3 | echo 4 -a %ver Received %dccfloodl dcc chat requests from $nick in %dccfloods seconds -= Iniating CTCP ignore for 30 seconds =- | unset %countdcc [ $+ [ $nick ] ] n78= if (%privatekick == 1) { set %reason DCC chat request flooding detected -=Temp Ban=- | set %nick $nick | privatekick } n79= } n80= :end n81= unset %lev n82=} n83=1:DCC SEND:{ n84= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n85= if (%dccflood == 0) { goto end } n86= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n87= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n88= inc %countdcc [ $+ [ $nick ] ] | .timer 1 %dccfloods unset %countdcc [ $+ [ $nick ] ] n89= if (%countdcc [ $+ [ $nick ] ] >= %dccfloodl) { n90= ignore -tu30 $nick 3 | echo 4 -a %ver Received %dccfloodl dcc send requests from $nick in %dccfloods seconds -= Iniating CTCP ignore for 30 seconds =- | unset %countdcc [ $+ [ $nick ] ] n91= if (%privatekick == 1) { set %reason DCC send request flooding detected -=Temp Ban=- | set %nick $nick | privatekick } n92= } n93= :end n94= unset %lev n95=} n96=1:SOUND:{ n97= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n98= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n99= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n100= if (%soundflood == 0) { goto end } n101= inc %countsound [ $+ [ $nick ] ] | .timer 1 %soundfloods unset %countsound [ $+ [ $nick ] ] n102= if (%countsound [ $+ [ $nick ] ] >= %soundfloodl) { n103= ignore -tu30 $nick 3 | echo 4 -a %ver Sound flood detected from $nick -=30 Second Private Ignore=- | unset %countsound [ $+ [ $nick ] ] n104= if (%privatekick == 1) { set %reason Sound flood detected -=Temp Ban=- | set %nick $nick | privatekick } n105= } n106= :end n107= unset %lev n108=} n109=1:*:{ n110= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n111= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n112= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n113= if (%ctcpflood == 0) { goto end } n114= inc %countctcp | .timer 1 %ctcpfloods unset %countctcp n115= if (%countctcp >= %ctcpfloodl) { ignore -tu30 *!*@* | echo 4 -a %ver Received %ctcpfloodl ctcp's in %ctcpfloods seconds -= Iniating ctcp mass-ignore for 30 seconds =- | unset %countctcp } n116= :end n117= unset %lev n118= if ($parm1 == version) { raw -q notice $nick : $+ $chr(1) $+ VERSION -= 12[Pr≥tΘótφ≥╤ MASTER v4.0], by Ventura =- http://www.iinet.net.au/~ventura/protect.html | halt } n119=} [Events] n0=1:ON CTCPREPLY:PING *:if (%pingme [ $+ [ $nick ] ] == 1) && (%autoping == 1) { set %pingreply $ctime - $parm2 | .notice $nick %ver [Ping Reply]: $duration(%pingreply) | unset %pingreply %pingme [ $+ [ $nick ] ] } n1=;----- n2=;----- Op checking and mass op routines n3=;----- n4=@1:ON OP:#:{ n5= if ($opnick == $me) { goto meopped } n6= if ($nick !ison $chan) { goto end } n7= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n8= set %nick $opnick | deniedcheck2 | if (%lev != 0) { mode $chan -o $opnick | goto end } n9= if (%superonly == 1) { set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan -o $opnick | goto end } } n10= goto next n11= :meopped n12= enforcemode n13= if (%revenge == 0) { goto done } n14= if (%kicker != $null) && (%kicker ison $chan) { mode $chan -o+bb %kicker $address(%kicker,2) $address(%kicker,3) | kick $chan %kicker %ver You can't kick me from $chan | unset %kicker } n15= if (%deopper != $null) && (%deopper ison $chan) { mode $chan -o %deopper | unset %deopper } n16= :done n17= set %chancheck $chan | .who $chan | goto end n18= :next n19= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n20= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n21= if (%immune == 3) && ($nick isop $chan) { goto end } n22= if (%massop == 0) { goto end } n23= inc %countop [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %massops unset %countop [ $+ [ $nick [ $+ [ $chan ] ] ] ] n24= if (%countop [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %massopl) { kick $chan $nick %ver Mass op detected | unset %countop [ $+ [ $nick [ $+ [ $chan ] ] ] ] } n25= :end n26= unset %lev n27=} n28=@1:ON SERVEROP:#:{ n29= if ($address($opnick,2) == $address($me,2)) && ($address($opnick,3) == $address($me,3)) { goto end } n30= if (%serverprot == 0) { goto end } n31= set %nick $opnick | superopcheck2 | if (%lev == 0) { mode $chan -o $opnick } n32= :end n33=} n34=;----- n35=;----- Deop checking and mass deop routines n36=;----- n37=1:ON DEOP:#:{ n38= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n39= if ($nick == $opnick) { goto end } n40= if ($opnick == $me) { goto medeopped } | if ($address($opnick,2) == $address($me,2)) && ($address($opnick,3) == $address($me,3)) { goto clonedeopped } n41= if ($me !isop $chan) || ($nick !ison $chan) { goto end } n42= set %nick $opnick | superopcheck2 | if (%lev == 0) { goto next } n43= set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan +o-o $opnick $nick } | else { mode $chan +o $opnick } n44= goto end n45= :medeopped n46= if (dal.net isin $server) { .msg chanserv op $chan $me | set %nick $nick | superopcheck2 | if (%lev == 0) { .msg chanserv deop $chan $nick } } n47= if (%revenge == 1) { set %nick $nick | superopcheck2 | if (%lev == 0) { set %deopper $nick } } n48= goto end n49= :clonedeopped n50= set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan +o-o $opnick $nick } | else { mode $chan +o $opnick } n51= goto end n52= :next n53= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n54= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n55= if (%immune == 3) && ($nick isop $chan) { goto end } n56= if (%massdeop == 0) { goto end } n57= inc %countdeop [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %massdeops unset %countdeop [ $+ [ $nick [ $+ [ $chan ] ] ] ] n58= if (%countdeop [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %massdeopl) { kick $chan $nick %ver Mass deop detected | unset %countdeop [ $+ [ $nick [ $+ [ $chan ] ] ] ] } n59= :end n60= unset %lev n61=} n62=;----- n63=;----- Kick checking and mass kick routines n64=;----- n65=1:ON KICK:#:{ n66= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n67= if ($knick == $me) { goto mekicked } | if ($address($knick,2) == $address($me,2)) && ($address($knick,3) == $address($me,3)) { goto clonekicked } n68= if ($me !isop $chan) { goto end } n69= set %nick $knick | superopcheck2 | if (%lev != 0) { set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver That user is Protected! | goto end } } n70= goto next n71= :mekicked n72= if (dal.net isin $server) { .msg chanserv deop $chan $nick | .msg chanserv unban $chan me | .timer 2 5 join $chan } n73= if (%revenge == 1) { set %nick $nick | superopcheck2 | if (%lev == 0) { set %kicker $nick } } n74= goto end n75= :clonekicked n76= set %nick $nick | superopcheck | if (%lev == 0) { mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver That user is Protected! | goto end } n77= goto end n78= :next n79= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n80= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n81= if (%immune == 3) && ($nick isop $chan) { goto end } n82= if (%masskick == 0) { goto end } n83= inc %countkick [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %masskicks unset %countkick [ $+ [ $nick [ $+ [ $chan ] ] ] ] n84= if (%countkick [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %masskickl) { kick $chan $nick %ver Mass kick detected | unset %countkick [ $+ [ $nick [ $+ [ $chan ] ] ] ] } n85= :end n86= unset %lev n87=} n88=;----- n89=;----- Ban checking and mass ban routines n90=;----- n91=@1:ON BAN:#:{ n92= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n93= if ($banmask iswm $address($me,5)) { n94= set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan -ob+b $nick $banmask $address($nick,3) | kick $chan $nick %ver You cannot ban me from $chan } | else { mode $chan -b $banmask } n95= goto end n96= } n97= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n98= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n99= if (%immune == 3) && ($nick isop $chan) { goto end } n100= if (%massban == 0) { goto end } n101= inc %countban [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %massbans unset %countban [ $+ [ $nick [ $+ [ $chan ] ] ] ] n102= if (%countban [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %massbanl) { kick $chan $nick %ver Mass ban detected | unset %countban [ $+ [ $nick [ $+ [ $chan ] ] ] ] } n103= :end n104= unset %lev n105=} n106=;----- n107=;----- Devoice checking and mass devoice routines n108=;----- n109=@1:ON DEVOICE:#:{ n110= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n111= set %nick $vnick | voicedcheck2 | if (%lev != 0) { n112= set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan +v $vnick } n113= } n114= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n115= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n116= if (%immune == 3) && ($nick isop $chan) { goto end } n117= if (%massdevoice == 0) { goto end } n118= inc %countdevoice [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %massdevoices unset %countdevoice [ $+ [ $nick [ $+ [ $chan ] ] ] ] n119= if (%countdevoice [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %massdevoicel) { kick $chan $nick %ver Mass devoice detected | unset %countdevoice [ $+ [ $nick [ $+ [ $chan ] ] ] ] } n120= :end n121= unset %lev n122=} n123=;----- n124=;----- Unban checking routine n125=;----- n126=@1:ON UNBAN:#:{ n127= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n128= set %address $banmask | shitlistcheck | if (%lev != 0) { mode $chan +b $banmask } n129= :end n130= unset %address %lev n131=} n132=;----- n133=;----- Channel Text Flood routine n134=;----- n135=@1:ON TEXT:*:#:{ n136= if ($parm1 == ping) && ($parm2 == me) && (%autoping == 1) { set %pingme [ $+ [ $nick ] ] 1 | .ctcp $nick ping } n137= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n138= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n139= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n140= if (%immune == 3) && ($nick isop $chan) { goto end } n141= wordcheck | textcheck | if (%textflood == 0) { goto end } n142= inc %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %textfloods unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] n143= if (%count [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %textfloodl) { chankick | unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] } n144= :end n145= unset %lev n146=} n147=@1:ON ACTION:*:#:{ n148= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n149= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n150= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n151= if (%immune == 3) && ($nick isop $chan) { goto end } n152= wordcheck | textcheck | if (%textflood == 0) { goto end } n153= inc %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %textfloods unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] n154= if (%count [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %textfloodl) { chankick | unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] } n155= :end n156= unset %lev n157=} n158=@1:ON NOTICE:*:#:{ n159= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n160= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n161= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n162= if (%immune == 3) && ($nick isop $chan) { goto end } n163= wordcheck | textcheck | if (%textflood == 0) { goto end } n164= inc %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %textfloods unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] n165= if (%count [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %textfloodl) { chankick | unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] } n166= :end n167= unset %lev n168=} n169=;----- n170=;----- Channel Nick Change Flood routine n171=;----- n172=@1:ON NICK:{ n173= if ($newnick == $me) || ($address($newnick,2) == $address($me,2)) && ($address($newnick,3) == $address($me,3)) { goto end } n174= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n175= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n176= set %nick $newnick | nickcheck | if (%kicked == 1) { unset %kicked | goto end } n177= if (%nickflood == 0) { goto end } n178= set %count 0 n179= :start n180= inc %count n181= if (%count > $chan(0)) { goto end } n182= set %curchan $chan(%count) n183= if ($newnick !ison %curchan) || (($newnick isop %curchan) && (%immune == 3)) { goto start } n184= set %countnick [ $+ [ $newnick [ $+ [ %curchan ] ] ] ] %countnick [ $+ [ $nick [ $+ [ %curchan ] ] ] ] | unset %countnick [ $+ [ $nick [ $+ [ %curchan ] ] ] ] n185= inc %countnick [ $+ [ $newnick [ $+ [ %curchan ] ] ] ] | .timer 1 %nickfloods unset %countnick [ $+ [ $newnick [ $+ [ %curchan ] ] ] ] n186= if (%countnick [ $+ [ $newnick [ $+ [ %curchan ] ] ] ] >= %nickfloodl) && ($me isop %curchan) { mode %curchan -o+bb $newnick $address($newnick,2) $address($newnick,3) | kick %curchan $newnick %ver Channel flood detected | .timer 1 10 mode %curchan -bb $address($newnick,2) $address($newnick,3) | unset %countnick [ $+ [ $newnick [ $+ [ %curchan ] ] ] ] } n187= goto start n188= :end n189= unset %count %curchan %lev n190=} n191=;----- n192=;----- Join-Part Flood routine n193=;----- n194=1:ON JOIN:#:{ n195= if ($nick == $me) { goto end } n196= if ($address($nick,3) == $address($me,3)) && ($address($nick,2) == $address($me,2)) && ($me isop $chan) { mode $chan +o $nick | goto end } n197= if (%ircop == 1) { who $nick } n198= if ($me !isop $chan) { goto end } n199= set %nick $nick | superopcheck2 | if (%lev != 0) { n200= if (%autoopping == 1) { mode $chan +o $nick } n201= if (%immune == 1) || (%immune == 2) { goto end } n202= goto next n203= } n204= set %nick $nick | voicedcheck2 | if (%lev != 0) { n205= mode $chan +v $nick n206= if (%immune == 2) { goto end } n207= goto next n208= } n209= set %nick $nick | shitlistcheck2 | if (%lev != 0) { mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver Shitlisted | goto end } n210= :next n211= set %nick $nick | nickcheck | if (%kicked == 1) { unset %kicked | goto end } n212= if (%cloneset == 0) { goto next2 } n213= if ($address($nick,2) == $address($me,2)) { goto next2 } n214= set %counter 0 | unset %clonelist %clonenum n215= :start n216= inc %counter | if (%counter > $nick(0,$chan)) { goto end1 } n217= if ($nick(%counter,$chan) == $null) { goto start } n218= if ($nick == $nick(%counter,$chan)) { goto start } n219= if ($address($nick(%counter,$chan),2) == $address($nick,2)) { n220= if ($nick(%counter,$chan) isop $chan) && (%immune == 3) { goto next2 } n221= set %clonelist %clonelist $nick(%counter,$chan) & n222= if (%clonenum == $null) { set %clonenum 2 } | else { inc %clonenum } n223= } n224= goto start n225= :end1 n226= if (%clonelist != $null) { n227= set %clonelist %clonelist $nick n228= if (%cloneset == 1) { echo $chan %ver %clonelist are CLONES Address: $address($nick,2) | goto next2 } n229= if (%cloneset == 2) && (%clonenum <= %clonesallowed) { echo $chan %ver %clonelist are CLONES Address: $address($nick,2) | goto next2 } n230= if (%cloneset == 2) && (%clonenum > %clonesallowed) { msg $chan %ver %clonelist are CLONES Address: $address($nick,2) | mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver Clone limit exceeded - No more than %clonesallowed clone(s) allowed on $chan -=Temp Ban=- | .timer 1 30 mode $chan -bb $address($nick,2) $address($nick,3) } n231= } n232= :next2 n233= if (%joinpartflood == 0) { goto end } n234= inc %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %joinpartfloods unset %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] n235= if (%countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %joinpartfloodl) { chankick | unset %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] } n236= :end n237= unset %counter %clonelist %clonenum %address %lev n238=} n239=@1:ON PART:#:{ n240= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n241= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n242= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n243= if (%joinpartflood == 0) { goto end } n244= inc %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %joinpartfloods unset %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] n245= if (%countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %joinpartfloodl) { mode $chan +bb $address($nick,2) $address($nick,3) | .msg $chan %ver Channel flood detected from $nick -=Temp Ban=- | .timer 1 10 mode $chan -bb $address($nick,2) $address($nick,3) | unset %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] } n246= :end n247= unset %lev n248=} n249=;----- n250=;----- Mode change protection n251=;----- n252=@1:ON MODE:#:{ n253= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n254= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n255= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n256= if (%modeprot == 0) || ($nick !ison $chan) { goto end } n257= set %count 0 | unset %modeway n258= :start n259= inc %count n260= if (%count > $len($parm1)) { goto done } n261= set %current $mid(%count,1,$parm1) n262= if (%current == +) || (%current == -) { set %modeway %current | goto start } n263= if (%modeway == $null) { set %modeway + } n264= if (%current == l) { goto l } n265= if (%current == k) { goto k } n266= if (%current isin %modeplus) && (%modeway == -) { mode $chan + $+ %current } n267= if (%current isin %modeminus) && (%modeway == +) { mode $chan - $+ %current } n268= goto start n269= :l n270= if (l !isin %modeplus) && (l !isin %modeminus) { goto start } n271= if (l isin %modeplus) && (%modeway == +) { mode $chan +l %modelimit | goto start } n272= if (l isin %modeminus) && (%modeway == +) { mode $chan -l | goto start } n273= if (l isin %modeplus) && (%modeway == -) { mode $chan +l %modelimit } n274= goto start n275= :k n276= if (k !isin %modeplus) && (k !isin %modeminus) { goto start } n277= if (k isin %modeminus) && (%modeway == +) { mode $chan -kk $parm2 $parm3 | goto start } n278= if (k isin %modeplus) && (%modeway == -) { mode $chan +k %modekey } n279= goto start n280= :done n281= if (%modeprot == 2) { mode $chan -o $nick | .msg $chan %ver Mode change protection activated } n282= if (%modeprot == 3) { mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver Mode change protection activated -=Temp Ban=- | .timer 1 10 mode $chan -bb $address($nick,2) $address($nick,3) } n283= :end n284= unset %lev %count %current %keyset %modeway n285=} n286=@1:ON SERVERMODE:#:{ n287= set %count 0 | unset %modeway n288= :start n289= inc %count n290= if (%count > $len($parm1)) { goto end } n291= set %current $mid(%count,1,$parm1) n292= if (%current == +) || (%current == -) { set %modeway %current | goto start } n293= if (%modeway == $null) { set %modeway + } n294= if (%current == l) { goto l } n295= if (%current == k) { goto k } n296= if (%current isin %modeplus) && (%modeway == -) { mode $chan + $+ %current } n297= if (%current isin %modeminus) && (%modeway == +) { mode $chan - $+ %current } n298= goto start n299= :l n300= if (l !isin %modeplus) && (l !isin %modeminus) { goto start } n301= if (l isin %modeplus) && (%modeway == +) { mode $chan +l %modelimit | goto start } n302= if (l isin %modeminus) && (%modeway == +) { mode $chan -l | goto start } n303= if (l isin %modeplus) && (%modeway == -) { mode $chan +l %modelimit } n304= goto start n305= :k n306= if (k !isin %modeplus) && (k !isin %modeminus) { goto start } n307= if (k isin %modeminus) && (%modeway == +) { mode $chan -kk $parm2 $parm3 | goto start } n308= if (k isin %modeplus) && (%modeway == -) { mode $chan +k %modekey } n309= goto start n310= :end n311= unset %lev %count %current %keyset %modeway n312=} n313=@1:ON TOPIC:#:{ n314= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n315= if (%topiclock [ $+ [ $chan ] ] == $null) { goto end } n316= if (%topiclock [ $+ [ $chan ] ] == 1) || (%topiclock [ $+ [ $chan ] ] == 3) || (%topiclock [ $+ [ $chan ] ] == 5) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n317= if ($chan($chan).topic == %topiccurrent [ $+ [ $chan ] ] ) { goto end } n318= .topic $chan %topiccurrent [ $+ [ $chan ] ] n319= if (%topiclock [ $+ [ $chan ] ] == 3) || (%topiclock [ $+ [ $chan ] ] == 4) { mode $chan -o $nick } n320= if (%topiclock [ $+ [ $chan ] ] >= 5) { mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver Topic protection activated | .timer 1 10 mode $chan -bb $address($nick,2) $address($nick,3) | goto end } n321= .msg $chan %ver Topic protection activated n322= :end n323= unset %lev n324=} n325=;----- n326=;----- Private Text Flood routine n327=;----- n328=1:ON TEXT:*:?:{ n329= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n330= if (%away != $null) { n331= if (%messager == 0) { .notice $nick I am away - msgs are currently NOT being saved %ver | goto awayend } n332= inc %messages | write $mircdirsettings\ $+ messages.txt < $+ $nick $+ > MSG $timestamp - $parms | awaytitle | .notice $nick I am away - your message was saved %ver n333= :awayend n334= .timer 1 1 close -m $nick n335= } n336= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n337= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n338= textcheck2 | if (%privatemsgflood == 0) { goto end } n339= inc %countmsg [ $+ [ $nick ] ] | .timer 1 %privatemsgfloods unset %countmsg [ $+ [ $nick ] ] n340= if (%countmsg [ $+ [ $nick ] ] >= %privatemsgfloodl) { n341= ignore -pu30 $nick 3 | echo 4 -a %ver Private Text flood detected from $nick -=30 Second Private Ignore=- | unset %countmsg [ $+ [ $nick ] ] n342= if (%privatekick == 1) { set %reason Private text flood detected -=Temp Ban=- | set %nick $nick | privatekick } n343= } n344= :end n345= unset %lev n346=} n347=1:ON ACTION:*:?:{ n348= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n349= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n350= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n351= textcheck2 | if (%privatemsgflood == 0) { goto end } n352= inc %countmsg [ $+ [ $nick ] ] | .timer 1 %privatemsgfloods unset %countmsg [ $+ [ $nick ] ] n353= if (%countmsg [ $+ [ $nick ] ] >= %privatemsgfloodl) { n354= ignore -pu30 $nick 3 | echo 4 -a %ver Private Text flood detected from $nick -=30 Second Private Ignore=- | unset %countmsg [ $+ [ $nick ] ] n355= if (%privatekick == 1) { set %reason Private text flood detected -=Temp Ban=- | set %nick $nick | privatekick } n356= } n357= :end n358= unset %lev n359=} n360=1:ON NOTICE:*:?:{ n361= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n362= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n363= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n364= textcheck2 | if (%privatenoticeflood == 0) { goto end } n365= inc %countnotice [ $+ [ $nick ] ] | .timer 1 %privatenoticefloods unset %countnotice [ $+ [ $nick ] ] n366= if (%countnotice [ $+ [ $nick ] ] >= %privatenoticefloodl) { n367= ignore -nu30 $nick 3 | echo 4 -a %ver Private Notice flood detected from $nick -=30 Second Notice Ignore=- | unset %countnotice [ $+ [ $nick ] ] n368= if (%privatekick == 1) { set %reason Private notice flood detected -=Temp Ban=- | set %nick $nick | privatekick } n369= } n370= :end n371= unset %lev n372=} n373=;----- n374=;----- DCC Text Flood routine n375=;----- n376=1:ON CHAT:*:{ n377= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n378= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n379= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n380= if (%repfloodp == 0) { goto next } n381= set %parms $strip($parms) n382= if (%repeatdcc [ $+ [ $nick ] ] == %parms) { n383= inc %countrepeatdcc [ $+ [ $nick ] ] n384= if (%countrepeatdcc [ $+ [ $nick ] ] == %repfloodpl) { n385= unset %repeatdcc [ $+ [ $nick ] ] | unset %countrepeatdcc [ $+ [ $nick ] ] n386= close -c $nick | echo 4 -a %ver DCC repeating flood detected from $nick ( $+ %repfloodpl repeats in less than %repfloodps seconds) -=DCC Chat closed=- n387= if (%privatekick == 1) { set %reason DCC repeating flood detected ( $+ %repfloodpl repeats in less than %repfloodps seconds) -=Temp Ban=- | set %nick $nick | privatekick } n388= goto end1 n389= } n390= goto next n391= } n392= set %repeatdcc [ $+ [ $nick ] ] %parms | set %countrepeatdcc [ $+ [ $nick ] ] 1 | .timer 1 %repfloodps unset %repeatdcc [ $+ [ $nick ] ] | .timer 1 %repfloodps unset %countrepeatdcc [ $+ [ $nick ] ] n393= :next n394= unset %parms n395= if ($len($parms) > %lengthfloodpl) && (%lengthfloodp == 1) { n396= close -c $nick | echo 4 -a %ver DCC length flood detected from $nick (maximum is %lengthfloodpl $+ , that was $len($parms) $+ ) -=DCC Chat closed=- n397= if (%privatekick == 1) { set %reason DCC length flood detected (maximum is %lengthfloodpl $+ , that was $len($parms) $+ ) -=Temp Ban=- | set %nick $nick | privatekick } n398= goto end1 n399= } n400= if ($count($parms,) > %colourfloodpl) && (%colourfloodp == 1) { n401= close -c $nick | echo 4 -a %ver DCC colour flood detected from $nick (no more than %colourfloodpl colour changes allowed) -=DCC Chat closed=- n402= if (%privatekick == 1) { set %reason DCC colour flood detected (no more than %colourfloodpl colour changes allowed) -=Temp Ban=- | set %nick $nick | privatekick } n403= goto end1 n404= } n405= if (%capsfloodp == 0) { goto end1 } n406= set -q %length $len($parms) | if (%length < %capsfloodpl) { goto end1 } n407= set -q %count 1 n408= :start n409= if (%count > %length) { goto kick } n410= if $asc($mid(%count,%length,$parms)) == $asc($upper($mid(%count,%length,$parms))) { inc %count | goto start } | else { goto end1 } n411= :kick n412= close -c $nick | echo 4 -a %ver DCC CAPS flood detected from $nick -=DCC Chat closed=- n413= if (%privatekick == 1) { set %reason DCC CAPS flood detected -=Temp Ban=- | set %nick $nick | privatekick } n414= :end1 n415= unset %length %count %address %lev n416= if (%dcctextflood == 0) { goto end } n417= inc %countdcctext [ $+ [ $nick ] ] | .timer 1 %dcctextfloods unset %countdcctext [ $+ [ $nick ] ] n418= if (%countdcctext [ $+ [ $nick ] ] >= %dcctextfloodl) { n419= close -c $nick | echo 4 -a %ver DCC text flood detected from $nick -=DCC Chat closed=- | unset %countdcctext [ $+ [ $nick ] ] n420= if (%privatekick == 1) { set %reason DCC text flood detected -=Temp Ban=- | set %nick $nick | privatekick } n421= } n422= :end n423= unset %lev n424=} n425=;----- n426=;----- Invite Flood routine n427=;----- n428=1:ON INVITE:#:{ n429= if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end } n430= if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } } n431= if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } } n432= if (%invite == 0) { goto end } n433= ignore -iu30 $nick 3 | echo 4 -a %ver Invite detected from $nick -=30 Second Invite ignore=- n434= if (%invite == 2) { set %reason Invite detected -=Temp Ban=- | set %nick $nick | privatekick } n435= :end n436= unset %lev n437=} [Raw] n0=352:*:{ n1= if ($parm2 == %chancheck) { n2= if ($parm6 == $me) { goto end } n3= if ($address($parm6,2) == $address($me,2)) && ($address($parm6,3) == $address($me,3)) && ($parm6 !isop $parm2) { mode $parm2 +o $parm6 | goto end } n4= set %nick $parm6 | superopcheck2 | if (%lev != 0) && ($parm6 !isop $parm2) && (%autoopping == 1) { mode $parm2 +o $parm6 | goto end } n5= set %nick $parm6 | voicedcheck2 | if (%lev != 0) && ($parm6 !isop $parm2) { mode $parm2 +v $parm6 | goto end } n6= set %nick $parm6 | deniedcheck2 | if (%lev != 0) && ($parm6 isop $parm2) { mode $parm2 -o $parm6 | goto end } n7= set %nick $parm6 | shitlistcheck2 | if (%lev != 0) { mode $parm2 -o+bb $parm6 $address($parm6,3) $address($parm6,2) | kick $parm2 $parm6 %ver Shitlisted } n8= :end n9= unset %lev | halt n10= } n11= if ($parm2 == %statchan) { n12= inc %statotal n13= if (@ isin $parm7) { inc %statops } n14= if (+ isin $parm7) { inc %statvoiced } n15= if (@ !isin $parm7) { inc %statnops } n16= if (H isin $parm7) { inc %stathere } n17= if (G isin $parm7) { inc %stataway } n18= if (* isin $parm7) { inc %statircops } n19= if ($parm4 isin %statadd) { n20= if ($parm4 isin %statcloneadd) { halt } n21= set %statcloneadd %statcloneadd $parm4 n22= } n23= set %statadd %statadd $parm4 n24= halt n25= } n26= if ($parm2 == %ircopchan) { n27= if (* isin $parm7) { inc %ircopcount | set %cop [ $+ [ %ircopcount ] ] ** $parm6 ** is an IRCop -=> $parm3 $+ @ $+ $parm4 <=- } n28= halt n29= } n30= if ($parm2 == %clonechan) { n31= if ($parm4 isin %statadd) { n32= if ($parm4 isin %clonecount) { halt } n33= set %clonecount %clonecount $parm4 n34= } n35= :done n36= set %statadd %statadd $parm4 n37= halt n38= } n39= if (%ircop == 0) { goto done } n40= if (* isin $parm7) { set %ircjoin [ $+ [ $parm6 ] ] $parm2 } n41= halt n42= :done n43=} n44=315:*:{ n45= if ($parm2 == %chancheck) { n46= unset %chancheck | halt n47= } n48= if ($parm2 == %statchan) { n49= if (%statotal == $null) { set %statotal 0 } n50= if (%statops == $null) { set %statops 0 } n51= if (%statvoiced == $null) { set %statvoiced 0 } n52= if (%statnops == $null) { set %statnops 0 } n53= if (%stathere == $null) { set %stathere 0 } n54= if (%stataway == $null) { set %stataway 0 } n55= if (%statircops == $null) { set %statircops 0 } n56= if (%statcloneadd == $null) { set %statclones 0 } n57= set %count 0 n58= :start n59= inc %count n60= if ($gettok(%statcloneadd,%count,32) == $null) { goto done } n61= set %domain *!*@ $+ $gettok( %statcloneadd,%count,32) n62= inc %statclones $ial(%domain,0) n63= goto start n64= :done n65= if (%stat == 2) { goto msg } n66= echo 4 %statchan %ver --== Channel stats for %statchan **private echo** ==-- n67= echo 4 %statchan Total: %statotal - Ops: %statops - Voiced: %statvoiced - NonOps: %statnops n68= echo 4 %statchan Here: %stathere - Away: %stataway - IRCops: %statircops - Clones: %statclones n69= goto end n70= :msg n71= msg %statchan %ver --== Channel stats for %statchan ==-- n72= msg %statchan Total: %statotal - Ops: %statops - Voiced: %statvoiced - NonOps: %statnops n73= msg %statchan Here: %stathere - Away: %stataway - IRCops: %statircops - Clones: %statclones n74= :end n75= unset %stat* %count %domain n76= halt n77= } n78= if ($parm2 == %ircopchan) { n79= if (%ircopcount == $null) { goto none } n80= set %count 0 n81= if (%stat == 1) { echo 4 %ircopchan %ver --== IRCopScan results for %ircopchan ==-- } | else { msg %ircopchan %ver --== IRCopScan results for %ircopchan ==-- } n82= :start n83= inc %count n84= if (%count > %ircopcount) { n85= if (%stat == 1) { echo 4 %ircopchan %ver --== IRCopScan complete ==-- } | else { msg %ircopchan %ver --== IRCopScan complete ==-- } n86= goto end n87= } n88= if (%stat == 1) { echo 4 %ircopchan %cop [ $+ [ %count ] ] } | else { msg %ircopchan %cop [ $+ [ %count ] ] } n89= goto start n90= :none n91= if (%stat == 1) { echo 4 %ircopchan %ver --== IRCopScan results for %ircopchan **NO IRCOPS FOUND** ==-- } | else { msg %ircopchan %ver --== IRCopScan results for %ircopchan **NO IRCOPS FOUND** ==-- } n92= :end n93= unset %count %stat %ircopcount %ircopchan %cop* | halt n94= } n95= if ($parm2 == %clonechan) { n96= if (%clonecount == $null) { goto none } n97= set %count 0 n98= if (%stat == 1) { echo 4 %clonechan %ver --== CloneScan results for %clonechan ==-- } | else { msg %clonechan %ver --== CloneScan results for %clonechan ==-- } n99= :start n100= inc %count n101= if ($gettok(%clonecount,%count,32) == $null) { n102= if (%stat == 1) { echo 4 %clonechan %ver --== CloneScan complete ==-- } | else { msg %clonechan %ver --== CloneScan complete ==-- } n103= goto done n104= } n105= set %domain *!*@ $+ $gettok( %clonecount,%count,32) n106= unset %clonemsg n107= set %count2 0 n108= :start2 n109= inc %count2 n110= if (%count2 > $ial(%domain,0)) { goto done2 } n111= set %clonemsg %clonemsg $ial(%domain,%count2).nick & n112= goto start2 n113= :done2 n114= set %position $len(%clonemsg) - 2 n115= set %clonemsg $left(%position,%clonemsg) n116= set %clonemsg ** %clonemsg ** are clones ==> %domain <== n117= if (%stat == 1) { echo 4 %clonechan %clonemsg } | else { msg %clonechan %clonemsg } n118= unset %clonemsg n119= goto start n120= :none n121= if (%stat == 1) { echo 4 %clonechan %ver --== CloneScan results for %clonechan **NO CLONES FOUND** ==-- } | else { msg %clonechan %ver --== ClonesScan results for %clonechan **NO CLONES FOUND** ==-- } n122= :done n123= unset %count %count2 %clonemsg %domain %clonecount %position %statadd %clonechan %stat n124= halt n125= } n126= if (%ircop == 0) { goto done } n127= if (%ircjoin [ $+ [ $parm2 ] ] == $null) { unset %ircjoin* | halt } n128= echo 4 -a %ver $parm2 - who just joined channel %ircjoin [ $+ [ $parm2 ] ] - is an IRCop | unset %ircjoin* n129= halt n130= :done n131=}